Skip to content

Conversation

@pandinocoder
Copy link
Member

This is the final prerequisite for texture preloading

…l haven't figured out how to stop the row height thrashing
…sure why this code still existed since if the size changes it was already being rebuilt
…t (~2%) but this is an extremely hot code path
…is empty... it saves so much time... from 1.065us/call to 0.215us/call, and this is a call that is getting hit around 37k times per second just on the main menu when locked to 30fps... unlimited FPS on my machine resulted in 357k hits per second...

at 30fps it was a difference between 39.4ms vs 8ms total, and uncapped it was 380ms vs 76.7ms

note: more performance can be saved here if we can figure out a way to track the emptiness of the thread queues in the tree without adding back that pesky parent BS in the TQ that destroyed performance

potential 3:45am braindead solution for this is to pass a reference to a counter or boolean in the node that the TQ has access to and this can be propagated up the tree or something -- that or maybe lazily creating the thread queue, or somehow having a flat global threadqueue lookup (though i think this has the potential to be non-performant in comparison)
@pandinocoder pandinocoder force-pushed the feat-texture-management branch 3 times, most recently from 540d09b to 561ccfb Compare February 20, 2025 00:16
@pandinocoder pandinocoder merged commit c30c232 into AscensionGameDev:main Feb 20, 2025
1 check passed
@pandinocoder pandinocoder deleted the feat-texture-management branch February 20, 2025 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant